// 90 78 76 54 32 11 6 5 4 3 2 1
// 
// 思路：把大的数插入数组，再用小的数找齐三组数和的差距，就可以尽量均匀的分成三组了。
// 代码逻辑：数组从大到小排序，把数依次往和最小的数组中插入。
var sliceArray = (arr) => {
  arr.sort((a,b)=>b-a)
  const num1 = [],num2 = [],num3 = []
  let sum1 = 0,sum2 = 0, sum3 = 0
  for(var i of arr) {
    let min = Math.min(sum1,sum2,sum3) 
    switch(min) {
      case sum1:
        num1.push(i)
        sum1+=i
        break
      case sum2:
        num2.push(i)
        sum2+=i
        break
      case sum3:
        num3.push(i)
        sum3+=i
        break
      default:
        break
    }
  }
  return [num1,num2,num3]
}
// let arr = [90, 78, 76, 54, 32, 11, 6, 5, 4, 3, 1,2]
let arr = [1, 2, 3, 4, 5, 6, 7, 8]
console.log(sliceArray(arr));
// [90,11,6,5,3,1][78,32,4,2][76,54]